﻿<div id="pui_util_tab">
</div>
<script>
(function(){
	var dr=new Mui.util.DocsRender({
		renderTo:'pui_util_tab',
		data:{
			title:'Mui.util.Tab',
			superclass:'Mui.util.UI',
			desc:'该组件继承自Viewer，提供弹出的窗体，并在窗体的背后添加半透明的遮罩层，屏蔽后续的内容',
			private:[{
				name:'__eventBus',
				desc:'对象的事件容器',
				type:'object',
				def:'{}'
			},{
				name:'__type',
				desc:'类型，用于对类进行描述',
				type:'string',
				def:'Tab'
			},{
				name:'__constructor',
				desc:'构造函数',
				type:'string',
				def:'Mui.util.Tab'
			},{
				name:'__tabsMap',
				desc:'页签的id值和tab的key/value映射关系',
				type:'string',
				def:'Mui.util.Tab'
			}],
			public:[{
				name:'tabWidth',
				desc:'页签的宽度',
				type:'number',
				def:'100'
			},{
				name:'type',
				desc:'类型。<br/>single：单一模式的tab，只有一个内容容器，点击页签时触发相应的事件；<br/>multi：多容器模式，每个页签对应一个内容容器，点击页签时触发相应事件、并隐藏其他内容容器，只显示当前页签所对应的内容容器。',
				type:'string',
				def:'multi'
			},{
				name:'alwaysActive',
				desc:'是否每次都触发活动事件，即点击活动的页签也触发活动事件',
				type:'boolean',
				def:'false'
			},{
				name:'autoActive',
				desc:'渲染时是否自动激活activeIndex指定的tab页签',
				type:'boolean',
				def:'true'
			},{
				name:'autoRender',
				desc:'是否自动渲染，如果该组件将要使用panel的add方法添加到panel中，建议设置该属性为false',
				type:'boolean',
				def:'true'
			},{
				name:'activeIndex',
				desc:'默认的活动页签序号',
				type:'number',
				def:'0'
			},{
				name:'tabs',
				desc:'页签设置，格式如：{title:\'abc\',content:\'\',createContent:function(){return \'<span>\'},type:\'html\'}。<br/>title：页签的标题；<br/>icon：页签的图标地址；<br/>iconCls：页签的图标样式名称；type：页签内容容器加载内容的模式，支持html和url两种，html为HTML代码内容，url为创建一个iframe加载url属性设置的地址；<br/>content：type为html时页签说对应的内容容器的内容；<br/>createContent()：content为空时创建页签容器的内容，返回代码；<br/>url：type为url时，页签容器加载的url地址。',
				type:'array',
				def:'[]'
			}],
			fn:[
			{
				name:'add(component o,boolean fixed,function cb,scope)',
				desc:'往panel的body区域添加一个控件，支持已经存在的控件添加，该空间将作为panel的子控件',
				param:[{
					name:'o',
					desc:'要添加的子控件对象'
				},{
					name:'fixed',
					desc:'添加的子控件是否填满panel的body区域，如果该值设置为true，但panel的大小发生改变时，子控件将跟随调整大小'
				},{
					name:'cb',
					desc:'添加子控件操作完成后的回调方法，通常执行将子空间的UI元素添加到panel的body中的渲染工作，默认执行o.render()'
				},{
					name:'scope',
					desc:'添加子控件操作完成后的回调方法的执行作用域'
				}],
				ret:''
			},
			{
				name:'getMainEl()',
				desc:'获取el的下一级的元素，即$(\'#\'+this.id)所表示的Dom元素',
				param:[],
				ret:'$(\'#\'+this.id)所表示的Dom元素',
				retType:'jQuery object'
			},
			{
				name:'getHeaderEl()',
				desc:'获取panel用于表示header的Dom元素',
				param:[],
				ret:'$(\'#\'+this.id+\'_header\')所表示的Dom元素',
				retType:'jQuery object'
			},
			{
				name:'getBodyEl()',
				desc:'获取panel用于表示body的Dom元素',
				param:[],
				ret:'$(\'#\'+this.id+\'_body\')所表示的Dom元素',
				retType:'jQuery object'
			},
			{
				name:'getTabsEl()',
				desc:'获取页签的jQuery Dom',
				ret:'headerEl的children()',
				retType:'jQuery object'
			},
			{
				name:'getContainersEl()',
				desc:'获取页签内容容器的jQuery Dom',
				ret:'bodyEl的children()',
				retType:'jQuery object'
			},
			{
				name:'getTabLength()',
				desc:'获取页签的个数',
				ret:'页签的数目',
				retType:'number'
			},
			{
				name:'getContainerLength()',
				desc:'获取页签内容容器的个数',
				ret:'页签内容容器的数目',
				retType:'number'
			},
			{
				name:'getTabEl(number index)',
				desc:'获取表示页签的jQuery Dom',
				ret:'页签的jQuery Dom',
				param:[{
					name:'index',
					desc:'页签的序号'
				}],
				retType:'jQuery object'
			},
			{
				name:'getContainerEl(number index)',
				desc:'获取表示页签内容容器的的jQuery Dom',
				ret:'页签内容容器的jQuery Dom',
				param:[{
					name:'index',
					desc:'页签的序号'
				}],
				retType:'jQuery object'
			},
			{
				name:'getContainerElByTab(object tab)',
				desc:'根据tab页签，获取表示页签内容容器的的jQuery Dom',
				ret:'页签内容容器的jQuery Dom',
				param:[{
					name:'tab',
					desc:'页签的tab'
				}],
				retType:'jQuery object'
			},
			{
				name:'getActiveTab()',
				desc:'获取当前活动的tab',
				ret:'当前活动的tab',
				retType:'object'
			},
			{
				name:'getActiveTabEl()',
				desc:'获取当前活动的tab的页签的jQuery Dom',
				ret:'当前活动的tab的jQuery Dom',
				retType:'jQuery object'
			},
			{
				name:'getTabByIndex(number index)',
				desc:'根据序号获取tab',
				ret:'tab',
				retType:'object'
			},
			{
				name:'getActiveContainerEl()',
				desc:'获取当前活动页签的内容容器',
				ret:'页签的内容容器的jQuery Dom',
				retType:'jQuery object'
			},
			{
				name:'getIndexByTab()',
				desc:'根据tab信息获取tab的序号',
				ret:'页签的序号',
				param:[{
					name:'tab',
					desc:'页签的tab'
				}],
				retType:'number'
			},
			{
				name:'getIndexById(string id)',
				desc:'根据tab的id获取tab的序号',
				ret:'页签的序号',
				param:[{
					name:'id',
					desc:'页签的id'
				}],
				retType:'number'
			},
			{
				name:'getTabById(string id)',
				desc:'根据tab的id获取tab',
				ret:'tab',
				param:[{
					name:'id',
					desc:'页签的id'
				}],
				retType:'object'
			},
			{
				name:'hasTab(string id)',
				desc:'根据tab的id判断当前组件是否有指定id的tab',
				ret:'true or false',
				param:[{
					name:'id',
					desc:'页签的id'
				}],
				retType:'boolean'
			},
			{
				name:'setActive(number index)',
				desc:'设置指定序号的页签为活动页签',
				param:[{
					name:'index',
					desc:'页签的序号'
				}]
			},
			{
				name:'addTab(object tab,boolean autoActive)',
				desc:'往组件中添加一个tab页签',
				param:[{
					name:'tab',
					desc:'页签的信息，信息参考tabs的配置'
				},{
					name:'autoActive',
					desc:'是否在添加完页签后，将刚添加的页签设置为活动页签，默认为不设置'
				}]
			},
			{
				name:'removeTab(number index)',
				desc:'在页签组件中删除一个页签',
				param:[{
					name:'index',
					desc:'页签的序号'
				}]
			},
			{
				name:'render()',
				desc:'重写父类的渲染方法，执行组件的渲染'
			},
			{
				name:'initComponent()',
				desc:'重写父类的initComponent方法'
			}
			]
		}
	});
})();
</script>